package com.randi.system.service;

import com.github.pagehelper.PageInfo;
import com.randi.common.core.domain.entity.SysUser;
import com.randi.system.domain.params.SysUserParam;
import com.randi.system.domain.dto.UserRoleDTO;

import java.util.List;

/**
 * @author ziye
 */
public interface ISysUserRoleService {

    /**
     * 分页获取授权用户列表
     *
     * @param roleId    角色ID
     * @param allocated 是否授权
     * @param userParam 检索参数
     * @return 用户列表
     */
    PageInfo<SysUser> selectAllocatedUserList(Long roleId, Boolean allocated, SysUserParam userParam);

    /**
     * 授权查询
     *
     * @param roleId 角色ID
     * @return 结果
     */
    List<Long> selectSysUserRoleUserIdList(Long roleId);

    /**
     * 添加用户授权
     *
     * @param userRoleDto UserRoleBody
     * @return 结果
     */
    int addAuthUsers(UserRoleDTO userRoleDto);

    /**
     * 取消用户授权
     *
     * @param userRoleDto UserRoleBody
     * @return 结果
     */
    int cancelAuthUsers(UserRoleDTO userRoleDto);
}
